<!DOCTYPE html>
<html bit-theme="dark">
<head>
    <base href="/">
    <meta charset="utf-8">
    <meta name="theme-color">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
    <meta name="description" content="The Boilerplate is built with ASP.NET Core, Identity, Web API, EF Core and Blazor.">

    <script>
        // disable auto-zoom of iOS Safari when focusing an input
        (/iPad|iPhone|iPod/.test(navigator.userAgent)) &&
            (document.querySelector('meta[name="viewport"]').content = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, viewport-fit=cover');
    </script>

    <!--#if (captcha == "reCaptcha")-->
    <link rel="preconnect" href="https://www.google.com">
    <link rel="preconnect" href="https://www.gstatic.com" crossorigin>
    <!--#endif-->
    <!--#if (appInsights == true)-->
    <link rel="preconnect" href="https://js.monitor.azure.com" crossorigin>
    <!-- Leave InstrumentationKey zero'd out and DisableTelemetry as true, they will be updated by Blazor on startup -->
    <script type="text/javascript">
        !(function (cfg) { function e() { cfg.onInit && cfg.onInit(i) } var S, u, D, t, n, i, C = window, x = document, w = C.location, I = "script", b = "ingestionendpoint", E = "disableExceptionTracking", A = "ai.device."; "instrumentationKey"[S = "toLowerCase"](), u = "crossOrigin", D = "POST", t = "appInsightsSDK", n = cfg.name || "appInsights", (cfg.name || C[t]) && (C[t] = n), i = C[n] || function (l) { var d = !1, g = !1, f = { initialize: !0, queue: [], sv: "7", version: 2, config: l }; function m(e, t) { var n = {}, i = "Browser"; function a(e) { e = "" + e; return 1 === e.length ? "0" + e : e } return n[A + "id"] = i[S](), n[A + "type"] = i, n["ai.operation.name"] = w && w.pathname || "_unknown_", n["ai.internal.sdkVersion"] = "javascript:snippet_" + (f.sv || f.version), { time: (i = new Date).getUTCFullYear() + "-" + a(1 + i.getUTCMonth()) + "-" + a(i.getUTCDate()) + "T" + a(i.getUTCHours()) + ":" + a(i.getUTCMinutes()) + ":" + a(i.getUTCSeconds()) + "." + (i.getUTCMilliseconds() / 1e3).toFixed(3).slice(2, 5) + "Z", iKey: e, name: "Microsoft.ApplicationInsights." + e.replace(/-/g, "") + "." + t, sampleRate: 100, tags: n, data: { baseData: { ver: 2 } }, ver: 4, seq: "1", aiDataContract: undefined } } var h = -1, v = 0, y = ["js.monitor.azure.com", "js.cdn.applicationinsights.io", "js.cdn.monitor.azure.com", "js0.cdn.applicationinsights.io", "js0.cdn.monitor.azure.com", "js2.cdn.applicationinsights.io", "js2.cdn.monitor.azure.com", "az416426.vo.msecnd.net"], k = l.url || cfg.src; if (k) { if ((n = navigator) && (~(n = (n.userAgent || "").toLowerCase()).indexOf("msie") || ~n.indexOf("trident/")) && ~k.indexOf("ai.3") && (k = k.replace(/(\/)(ai\.3\.)([^\d]*)$/, function (e, t, n) { return t + "ai.2" + n })), !1 !== cfg.cr) for (var e = 0; e < y.length; e++)if (0 < k.indexOf(y[e])) { h = e; break } var i = function (e) { var a, t, n, i, o, r, s, c, p, u; f.queue = [], g || (0 <= h && v + 1 < y.length ? (a = (h + v + 1) % y.length, T(k.replace(/^(.*\/\/)([\w\.]*)(\/.*)$/, function (e, t, n, i) { return t + y[a] + i })), v += 1) : (d = g = !0, o = k, c = (p = function () { var e, t = {}, n = l.connectionString; if (n) for (var i = n.split(";"), a = 0; a < i.length; a++) { var o = i[a].split("="); 2 === o.length && (t[o[0][S]()] = o[1]) } return t[b] || (e = (n = t.endpointsuffix) ? t.location : null, t[b] = "https://" + (e ? e + "." : "") + "dc." + (n || "services.visualstudio.com")), t }()).instrumentationkey || l.instrumentationKey || "", p = (p = p[b]) ? p + "/v2/track" : l.endpointUrl, (u = []).push((t = "SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details)", n = o, r = p, (s = (i = m(c, "Exception")).data).baseType = "ExceptionData", s.baseData.exceptions = [{ typeName: "SDKLoadFailed", message: t.replace(/\./g, "-"), hasFullStack: !1, stack: t + "\nSnippet failed to load [" + n + "] -- Telemetry is disabled\nHelp Link: https://go.microsoft.com/fwlink/?linkid=2128109\nHost: " + (w && w.pathname || "_unknown_") + "\nEndpoint: " + r, parsedStack: [] }], i)), u.push((s = o, t = p, (r = (n = m(c, "Message")).data).baseType = "MessageData", (i = r.baseData).message = 'AI (Internal): 99 message:"' + ("SDK LOAD Failure: Failed to load Application Insights SDK script (See stack for details) (" + s + ")").replace(/\"/g, "") + '"', i.properties = { endpoint: t }, n)), o = u, c = p, JSON && ((r = C.fetch) && !cfg.useXhr ? r(c, { method: D, body: JSON.stringify(o), mode: "cors" }) : XMLHttpRequest && ((s = new XMLHttpRequest).open(D, c), s.setRequestHeader("Content-type", "application/json"), s.send(JSON.stringify(o)))))) }, a = function (e, t) { g || setTimeout(function () { !t && f.core || i() }, 500), d = !1 }, T = function (e) { var n = x.createElement(I), e = (n.src = e, cfg[u]); return !e && "" !== e || "undefined" == n[u] || (n[u] = e), n.onload = a, n.onerror = i, n.onreadystatechange = function (e, t) { "loaded" !== n.readyState && "complete" !== n.readyState || a(0, t) }, cfg.ld && cfg.ld < 0 ? x.getElementsByTagName("head")[0].appendChild(n) : setTimeout(function () { x.getElementsByTagName(I)[0].parentNode.appendChild(n) }, cfg.ld || 0), n }; T(k) } try { f.cookie = x.cookie } catch (p) { } function t(e) { for (; e.length;)!function (t) { f[t] = function () { var e = arguments; d || f.queue.push(function () { f[t].apply(f, e) }) } }(e.pop()) } var r, s, n = "track", o = "TrackPage", c = "TrackEvent", n = (t([n + "Event", n + "PageView", n + "Exception", n + "Trace", n + "DependencyData", n + "Metric", n + "PageViewPerformance", "start" + o, "stop" + o, "start" + c, "stop" + c, "addTelemetryInitializer", "setAuthenticatedUserContext", "clearAuthenticatedUserContext", "flush"]), f.SeverityLevel = { Verbose: 0, Information: 1, Warning: 2, Error: 3, Critical: 4 }, (l.extensionConfig || {}).ApplicationInsightsAnalytics || {}); return !0 !== l[E] && !0 !== n[E] && (t(["_" + (r = "onerror")]), s = C[r], C[r] = function (e, t, n, i, a) { var o = s && s(e, t, n, i, a); return !0 !== o && f["_" + r]({ message: e, url: t, lineNumber: n, columnNumber: i, error: a, evt: C.event }), o }, l.autoExceptionInstrumented = !0), f }(cfg.cfg), (C[n] = i).queue && 0 === i.queue.length ? (i.queue.push(e), i.trackPageView({})) : e(); })({
            src: "https://js.monitor.azure.com/scripts/b/ai.3.gbl.min.js",
            ld: -1,
            crossOrigin: "anonymous",
            cfg: {
                instrumentationKey: "00000000-0000-0000-0000-000000000000",
                disableTelemetry: true
            }
        });
    </script>
    <!--#endif-->


    <link rel="preconnect" href="https://use-your-api-server-url-here.com">

    <link href="favicon.ico" rel="icon" type="image/x-icon" />
    <link href="images/icons/bit-icon-512.png" rel="apple-touch-icon" sizes="512x512" />
    <link href="manifest.json" rel="manifest" />
</head>
<body class="bit-css-clr-bg-pri bit-css-clr-fg-pri bit-blazor-web">
    <link href="_content/Bit.BlazorUI/styles/bit.blazorui.css" rel="stylesheet" />
    <link href="_content/Bit.BlazorUI.Icons/styles/bit.blazorui.icons.css" rel="stylesheet" />
    <link href="_content/Bit.BlazorUI.Assets/styles/bit.blazorui.assets.css" rel="stylesheet" />
    <link href="_content/Bit.BlazorUI.Extras/styles/bit.blazorui.extras.css" rel="stylesheet" />
    <link href="_content/Boilerplate.Client.Core/styles/app.css" rel="stylesheet" />
    <link href="Boilerplate.Client.Web.styles.css" rel="stylesheet" />
    <style>
        #bit-bswup {
            top: 2px;
            left: 50%;
            display: none;
            position: fixed;
            z-index: 999999999;
            text-align: center;
            transform: translateX(-50%);
            font-family: "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif;
        }

            #bit-bswup .bswup-container {
                width: 3rem;
                height: 3rem;
                display: block;
                position: relative;
            }

                #bit-bswup .bswup-container circle {
                    fill: none;
                    stroke: #e0e0e0;
                    stroke-width: 0.2rem;
                    transform-origin: 50% 50%;
                    transform: rotate(-90deg);
                }

                    #bit-bswup .bswup-container circle:last-child {
                        stroke: #1b6ec2;
                        transition: stroke-dasharray 0.05s ease-in-out;
                        stroke-dasharray: calc(3.141 * var(--bit-bswup-percent, 0%) * 0.8), 500%;
                    }

            #bit-bswup .bswup-progress-text {
                top: 50%;
                left: 50%;
                font-size: 12px;
                position: absolute;
                text-align: center;
                font-weight: normal;
                transform: translate(-50%, -50%);
            }

                #bit-bswup .bswup-progress-text::after {
                    content: var(--bit-bswup-percent-text, "");
                }
    </style>
    <style>
        /* LoadingComponent.razor's body has been copied here due the lack of razor rending support at this stage */
        .bit-lds-grid div {
            background-color: #123456;
        }

        .bit-lds-wrapper {
            top: 50%;
            left: 50%;
            position: absolute;
            transform: translate(-50%, -50%);
        }

        .bit-lds-grid {
            width: 80px;
            height: 80px;
            position: relative;
            display: inline-block;
        }

            .bit-lds-grid div {
                width: 16px;
                height: 16px;
                position: absolute;
                border-radius: 50%;
                animation: bit-lds-grid 1.2s linear infinite;
            }

                .bit-lds-grid div:nth-child(1) {
                    top: 8px;
                    left: 8px;
                    animation-delay: 0s;
                }

                .bit-lds-grid div:nth-child(2) {
                    top: 8px;
                    left: 32px;
                    animation-delay: -0.4s;
                }

                .bit-lds-grid div:nth-child(3) {
                    top: 8px;
                    left: 56px;
                    animation-delay: -0.8s;
                }

                .bit-lds-grid div:nth-child(4) {
                    top: 32px;
                    left: 8px;
                    animation-delay: -0.4s;
                }

                .bit-lds-grid div:nth-child(5) {
                    top: 32px;
                    left: 32px;
                    animation-delay: -0.8s;
                }

                .bit-lds-grid div:nth-child(6) {
                    top: 32px;
                    left: 56px;
                    animation-delay: -1.2s;
                }

                .bit-lds-grid div:nth-child(7) {
                    top: 56px;
                    left: 8px;
                    animation-delay: -0.8s;
                }

                .bit-lds-grid div:nth-child(8) {
                    top: 56px;
                    left: 32px;
                    animation-delay: -1.2s;
                }

                .bit-lds-grid div:nth-child(9) {
                    top: 56px;
                    left: 56px;
                    animation-delay: -1.6s;
                }


        @keyframes bit-lds-grid {
            0%, 100% {
                opacity: 1;
            }

            50% {
                opacity: 0.5;
            }
        }
    </style>
    <div id="app-container">

        <!-- LoadingComponent.razor's body has been copied here due the lack of razor rending support at this stage -->
        <div class="bit-lds-wrapper">
            <div class="bit-lds-grid">
                <div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>
            </div>
        </div>

        <div id="bit-bswup">
            <div class="bswup-progress-text"></div>
            <svg class="bswup-container">
                <circle r="40%" cx="50%" cy="50%"></circle>
                <circle r="40%" cx="50%" cy="50%"></circle>
            </svg>
        </div>
    </div>

    <!-- If you don't plan to support older browsers and prefer to use the original `blazor.webassembly.js`, follow the instructions in this link: https://github.com/orgs/bitfoundation/discussions/10238#discussioncomment-12493737 -->
    <script src="_framework/blazor.webassembly.js" autostart="false"></script>
    <script src="_content/Bit.Bswup/bit-bswup.js" blazorScript="_framework/blazor.webassembly.js"></script>
    <script src="_content/Bit.Bswup/bit-bswup.progress.js"></script>
    <script>
        // Boilerplate.Client.Core/Scripts/bswup.ts would apply latest version when user is not activly using the app,
        // so the `autoReload` can be set to false to avoid reload during active use.
        const autoReload = false, showLogs = false, showAssets = false, appContainer = '#app-container', hideApp = false, autoHide = true, handler = null;
        BitBswupProgress.start(autoReload, showLogs, showAssets, appContainer, hideApp, autoHide, handler);
    </script>
    <script src="_content/Bit.Butil/bit-butil.js"></script>
    <!--#if (offlineDb == true) -->
    <script src="_content/Bit.Besql/bit-besql.js"></script>
    <!--#endif -->
    <script src="_content/Bit.BlazorUI/scripts/bit.blazorui.js"></script>
    <script src="_content/Boilerplate.Client.Core/scripts/app.js"></script>
    <script src="_content/Bit.BlazorUI.Extras/scripts/bit.blazorui.extras.js"></script>
</body>
</html>
